home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Languguage OS 2
/
Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO
/
language
/
embedded
/
develop
/
symcoff.arc
/
PLTBREAD.C
< prev
next >
Wrap
Text File
|
1988-11-07
|
2KB
|
51 lines
static char *sccsid[]={"@(#)pldtbread.c 2.1",
"Copyright 1985 by Motorola Inc."};
#include <stdio.h>
#ifdef PCPORT
#include "/pld/src/hd/pcport.h" /*PC-PORT*/
#endif
#include "../hd/pfilehdr.h"
#include "../hd/psyms.h"
#include "../hd/pldfcn.h"
#include "../hd/pldf_dcl.h" /*PC-PORT*/
/****************** PLDTBREAD ******************************************gs##*/
/* ##*/
/* ##*/
/* Written by: Michael Greenberg - MIL ##*/
/* ##*/
/* ACTION: ##*/
/* Read an indexed symbol table entry of a common object file. ##*/
/* ##*/
/* SYNOPSIS: ##*/
int pldtbread(ldptr, symindex, symbol) /*##*/
/* -------------------------------------- ##*/
register LDFILE *ldptr; /*##*/
register long symindex; /*##*/
register SYMENT *symbol; /*##*/
/* ##*/
/*************************************************************************##*/
{
register int i;
register long disp;
if(symindex >= HEADER(ldptr).f_nsyms)
return(FAILURE);
if(HEADER(ldptr).f_symptr == 0L)
return(FAILURE);
/* seek to appropriate location */
disp = HEADER(ldptr).f_symptr + (long) (symindex * SYMESZ)
+ OFFSET(ldptr);
if(disp != ftell(IOPTR(ldptr)))
if(fseek(IOPTR(ldptr), disp, 0) != 0)
return(FAILURE);
if(fread(symbol, SYMESZ, 1, IOPTR(ldptr)) != 1)
return(FAILURE);
return(SUCCESS);
}
/* Copyright 1985 by Motorola Inc. */